package com.shr.code_interview;

public class Solution_56 {
    public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) {
    	int xorNum = array[0];
        for(int i = 1;i<array.length;i++){
        	xorNum = xorNum ^ array[i] ;
        }
        int i = 0;
        while((xorNum & 1) == 0){
        	xorNum = xorNum >> 1;
        	i++;
        }
        int xOr1 = 0, xOr2 = 0;
        for(int k = 0;k<array.length;k++){
        	if(((array[k] >> i) & 1) == 0)
        		xOr1 = xOr1^array[k];
        	else xOr2 = xOr2^array[k];
        }
        num1[0] = xOr1;
        num2[0] = xOr2;
    }
}
